System and method for providing access to media content associated with events, using a digital media content environment

ABSTRACT

In accordance with an embodiment, described herein is a system and method for providing access to media content associated with events, using a digital media content environment. A media application enables display of a memory event timeline, including a plurality of memory events, to provide an improved presentation of media consumption by a user that resembles a person&#39;s memory or recollection of such events. Recent events are generally presented with more specificity, with earlier time periods and events generally presented more broadly. An input action or request for a memory event can be performed to cause a media server to determine a corresponding historical media content for delivery, and to stream or buffer the historical media content related to that memory event, and/or to cause other systems or environments to provide additional content related to the memory event either via the media server, or directly delivered to the media device.

CLAIM OF PRIORITY

This application is a continuation of U.S. patent application titled“SYSTEM AND METHOD FOR PROVIDING ACCESS TO MEDIA CONTENT ASSOCIATED WITHEVENTS, USING A DIGITAL MEDIA CONTENT ENVIRONMENT”, application Ser. No.15/856,553, filed Dec. 28, 2017; which claims the benefit of priority toU.S. Provisional Patent Application titled “SYSTEM AND METHOD FORPROVIDING ACCESS TO MEDIA CONTENT ASSOCIATED WITH EVENTS, USING ADIGITAL MEDIA CONTENT ENVIRONMENT”, Application No. 62/440,976, filedDec. 30, 2016; each of which above applications are herein incorporatedby reference.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightrights whatsoever.

FIELD OF INVENTION

Embodiments of the invention are generally related to providing digitalmedia content, and are particularly related to a system and method forproviding access to media content associated with events, using adigital media content environment.

BACKGROUND

Today's consumers enjoy the ability to access a tremendous amount ofmedia content, such as music and videos, using a wide variety of mediadevices. Digital media content environments, for example media streamingservices such as Spotify, enable users to stream music content thatcomplements their lifestyle, while commuting, exercising, relaxing athome, or engaging in other types of activities.

However, traditional media content environments and streaming servicesare generally operated to provide an immediate or current playback ofmedia content, and are generally not designed for playback of a mediacontent associated with past events.

SUMMARY

In accordance with an embodiment, described herein is a system andmethod for providing access to media content associated with events,using a digital media content environment. A media application enablesdisplay of a memory event timeline, including a plurality of memoryevents, to provide an improved presentation of media consumption by auser that resembles a person's memory or recollection of such events.Recent events are generally presented with more specificity, withearlier time periods and events generally presented more broadly. Aninput action or request for a memory event can be performed to cause amedia server to determine a corresponding historical media content fordelivery, and to stream or buffer the historical media content relatedto that memory event, and/or to cause other systems or environments toprovide additional content related to the memory event either via themedia server, or directly delivered to the media device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example digital media content environment, inaccordance with an embodiment.

FIG. 2 illustrates a system for providing access to media contentassociated with events, using a digital media content environment, inaccordance with an embodiment.

FIG. 3 further illustrates a system for providing access to mediacontent associated with events, using a digital media contentenvironment, in accordance with an embodiment.

FIG. 4 further illustrates a system for providing access to mediacontent associated with events, using a digital media contentenvironment, in accordance with an embodiment.

FIG. 5 further illustrates a system for providing access to mediacontent associated with events, using a digital media contentenvironment, in accordance with an embodiment.

FIG. 6 illustrates a method for providing access to media contentassociated with events, using a digital media content environment, inaccordance with an embodiment.

DETAILED DESCRIPTION

As described above, digital media content environments, for examplemedia streaming services such as Spotify, enable users to stream musiccontent that complements their lifestyle, while commuting, exercising,relaxing at home, or engaging in other types of activities. However,traditional media content environments and streaming services aregenerally operated to provide an immediate or current playback of mediacontent, and are generally not designed for playback of a media contentassociated with past events.

In accordance with an embodiment, described herein is a system andmethod for providing access to media content associated with events,using a digital media content environment. A media application enablesdisplay of a memory event timeline, including a plurality of memoryevents, to provide an improved presentation of media consumption by auser that resembles a person's memory or recollection of such events.Recent events are generally presented with more specificity, withearlier time periods and events generally presented more broadly. Aninput action or request for a memory event can be performed to cause amedia server to determine a corresponding historical media content fordelivery, and to stream or buffer the historical media content relatedto that memory event, and/or to cause other systems or environments toprovide additional content related to the memory event either via themedia server, or directly delivered to the media device.

Digital Media Content Environments

FIG. 1 illustrates an example digital media content environment, inaccordance with an embodiment.

As illustrated in FIG. 1, in accordance with an embodiment, a mediadevice 102, operating as a client device, can receive and play mediacontent provided by a media server system 142 (media server), or byanother system or peer device. In accordance with an embodiment, themedia device can be, for example, a personal computer system, handheldentertainment device, tablet device, smartphone, television, audiospeaker, in-car entertainment system, or other type of electronic ormedia device that is adapted or able to prepare a media content forpresentation, control the presentation of media content, and/or play orotherwise present media content.

In accordance with an embodiment, each of the media device and the mediaserver can include, respectively, one or more physical device orcomputer hardware resources 104, 144, such as one or more processors(CPU), physical memory, network components, or other types of hardwareresources.

Although, for purposes of illustration, a single client media device andmedia server are shown, in accordance with an embodiment a media servercan support the simultaneous use of a plurality of client media devices.Similarly, in accordance with an embodiment, a client media device canaccess media content provided by a plurality of media servers, or switchbetween different media streams produced by one or more media servers.

In accordance with an embodiment, the media device can optionallyinclude a touch-enabled or other type of display screen having a userinterface 106, which is adapted to display media options, for example asan array of media tiles, thumbnails, or other format, and to determine auser interaction or input. Selecting a particular media option, forexample a particular media tile or thumbnail, can be used as a commandby a user and/or the media device, to the media server, to download,stream or otherwise access a corresponding particular media content itemor stream of media content.

In accordance with an embodiment, the media device can also include asoftware media application 108, together with an in-memory client-sidemedia content buffer 110, and a client-side data buffering logic orsoftware component 112, which can be provided as software or programcode that is executable by a computer system or other processing device,and which can be used to control the playback of media content receivedfrom the media server, for playing either at a requesting media device(i.e., controlling device) or at a controlled media device (i.e.,controlled device), in the manner of a remote control.

In accordance with an embodiment, a connected media environment logic orsoftware component 120, which can be provided as software or programcode that is executable by a computer system or other processing device,can be provided at the media device, either as part of the mediaapplication, or separately, for example as a firmware, to enable themedia device to participate within a connected media environment (e.g.,a Spotify Connect environment) that enables a user to control theplayback of media content at such controlled devices.

In accordance with an embodiment, the client-side data buffering logic,together with the media content buffer, enables a portion of mediacontent items, or samples thereof, to be pre-buffered at a client mediadevice. For example, while media options are being prepared for displayon a user interface, e.g., as media tiles or thumbnails, their relatedmedia content can be pre-buffered at the same time, and cached by one ormore media devices in their media content buffers, for prompt andefficient playback when required.

In accordance with an embodiment, the media server can include anoperating system 146 or other processing environment which supportsexecution of a media server 150 that can be used, for example, to streammusic, video, or other forms of media content to a client media device,or to a controlled device.

In accordance with an embodiment, the media server can provide asubscription-based media streaming service, for which a client mediadevice or user can have an associated account and credentials, and whichenable the user's media device to communicate with and receive contentfrom the media server. A received media-access request from a clientmedia device can include information such as, for example, a networkaddress, which identifies a destination media device to which the mediaserver should stream or otherwise provide media content, in response toprocessing the media-access request.

For example, a user may own several media devices, such as a smartphoneand an audio speaker, which can play media content received from a mediaserver. In accordance with an embodiment, identifying informationprovided with a media-access request can include an identifier, such asan IP address, MAC address, or device name, which identifies that themedia-access request is intended for use with a particular destinationdevice. This allows a user, for example, to use their smartphone as acontrolling device, and their audio speaker as a controlled device towhich media content should be sent. The media server can then send therequested media and/or forward the media-access request to the audiospeaker, even though the request originated at the user's smartphone.

In accordance with an embodiment, one or more application interface(s)148 can receive requests from client media devices, or from othersystems, to retrieve media content from the media server. A contextdatabase 162 can store data associated with the presentation of mediacontent by a client media device, including, for example, a currentposition within a media stream that is being presented by the mediadevice, or a playlist associated with the media stream, or one or morepreviously-indicated user playback preferences. The media server cantransmit context information associated with a media stream to a mediadevice that is presenting that stream, so that the context informationcan be used by the device, and/or displayed to the user. The contextdatabase can be used to store a media device's current media state atthe media server, and synchronize that state between devices, in acloud-like manner. Alternatively, media state can be shared in apeer-to-peer manner, wherein each device is aware of its own currentmedia state which is then synchronized with other devices as needed.

For example, in accordance with an embodiment, when the destinationmedia device to which the media content is being streamed changes, sayfrom a controlling device to a controlled device, or from a firstcontrolled device to a second controlled device, then the media servercan transmit context information associated with an active media contentto the newly-appointed destination device, for use by that device inplaying the media content.

In accordance with an embodiment, a media content database 164 caninclude media content, for example music, songs, videos, movies, orother media content, together with metadata describing that mediacontent. The metadata can be used to enable users and client mediadevices to search within repositories of media content, to locateparticular media content items.

In accordance with an embodiment, a server-side media content bufferinglogic or software component 180, which can be provided as software orprogram code that is executable by a computer system or other processingdevice, can be used to retrieve or otherwise access media content items,in response to requests from client media devices or other systems, andto populate a server-side media content buffer 181, at a media deliverycomponent or streaming service 152, which can be similarly provided assoftware or program code that is executable by a computer system orother processing device, with streams 182, 184, 186 of correspondingmedia content data, which can then be returned to the requesting deviceor to a controlled device.

In accordance with an embodiment, a plurality of client media devices,media server systems, and/or controlled devices, can communicate withone another using a network, for example the Internet 190, a local areanetwork, peer-to-peer connection, wireless or cellular network, or otherform of network. For example, a user 192 can interact 194 with the userinterface at a client media device, and issue requests to access mediacontent, for example the playing of a selected music or video item attheir device, or at a controlled device, or the streaming of a mediachannel or video stream to their device, or to a controlled device.

In accordance with an embodiment, the user's selection of a particularmedia option can be communicated 196 to the media server, via theserver's application interface. The media server can populate itsserver-side media content buffer at the server 204, with correspondingmedia content, 206 including one or more streams of media content data,and can then communicate 208 the selected media content to the user'smedia device, or to a controlled device as appropriate, where it can bebuffered in a client-side media content buffer for playing at thedevice.

In accordance with an embodiment, and as further described below, thesystem can include a server-side media gateway or access point 220,which can be provided as software or program code that is executable bya computer system or other processing device, or other process orcomponent, which operates as a load balancer in providing access to oneor more servers, for use in processing requests at those servers. Thesystem can enable communication between a client media device and aserver, via an access point at the server, and optionally the use of oneor more routers, to allow requests from the client media device to beprocessed either at that server and/or at other servers.

For example, in a Spotify media content environment, Spotify clientsoperating on media devices can connect to various Spotify back-endprocesses via a Spotify “accesspoint”, which forwards client requests toother servers, such as sending one or more metadataproxy requests to oneof several metadataproxy machines, on behalf of the client or end user.

Memory Event Histories

In accordance with an embodiment, the system provides access to mediacontent associated with events, including the use of a media applicationthat enables display of a memory event timeline, including a pluralityof memory events, to provide an improved presentation of mediaconsumption by a user that resembles a person's memory or recollectionof such events.

FIG. 2 illustrates a system for providing access to media contentassociated with events, using a digital media content environment, inaccordance with an embodiment.

As illustrated in FIG. 2, in accordance with an embodiment, a mediaapplication configured according to a memory event logic 220, enablesdisplay of a memory event timeline 240 for a user (in this exampleassociated with a user avatar 242), including a plurality of memoryevents 244, for example artist events 245, or other types of events,examples of which are further described below. In accordance with anembodiment, memory events can be optionally associated with anadditional event content 246.

In accordance with an embodiment, more recent events can be arranged ordisplayed within the user interface along the memory event timeline, forexample beginning at the bottom of the display screen and flowingbackward chronologically from the user avatar towards the top of thedisplay screen. Alternatively, the timeline can be arranged to flow, forexample, backward chronologically towards the bottom of the displayscreen, or from one side of the display screen to the other. Inaccordance with other embodiments, other arrangements of the timelineand the display of memory events can be provided.

In accordance with an embodiment, the user can interact with the userinterface to scroll through the memory event timeline, and accessdifferent events displayed along that timeline. For example, the systemcan display within a “Current week” those events that occurred withinthe past week, including in this example events categorized as “Party”music, and a taxi trip with acquaintances.

Generally, in accordance with an embodiment, primary groups of eventscan be introduced by a header, icon, or other type of graphical element(e.g., “Today” displayed inside a rectangle); with secondary groups ofevents displayed as a circle icon or other type of graphical element invarious sizes (e.g., “Commute” is displayed as a small circle), andevents that are further back in time indicated, for example, by a largercircle (e.g., “Summer '14”). Media content characteristics, such asgenres, can be indicated, for example, as translucent grey circles,while artists can be indicated, for example, as circular photos.

The above are provided by way of example, to illustrate various types oficons or other graphical elements that can be used in accordance anembodiment. In accordance with other embodiments, other types of iconsor graphical elements can be used to indicate or otherwise displayvarious types of events, activities, media content characteristics,artists, or other information.

In accordance with an embodiment, at the media server, a historicalmedia content determination component 230 enables the use of variousgroupings, for example, user-based 232, activity-based 234, period-based236, or other types of groupings 238, to be used with a listeninghistory 231, to determine a historical media content, for use with amemory event. The above types of groupings are similarly provided by wayof example, to illustrate various types of groupings, and in accordancewith other embodiments, other types of groupings can be used.

In accordance with an embodiment, an input action or request for amemory event 250 can be processed, to cause the media server todetermine a corresponding historical media content for delivery 252, andto stream or buffer the historical media content related to that memoryevent 254, and/or to cause other systems or environments 260 to provideadditional content 262 related to the memory event, either via the mediaserver, or directly delivered to the media device 264.

For example, selecting a particular memory event icon can be processedby the media application to expand its event icon, and/or to launch anevent screen that displays the media content which was consumed by theuser at, or during, the event.

In accordance with an embodiment, a memory event to be included in thememory event timeline can be explicitly created by the user; or theevent can be automatically added to the timeline via a feature of themedia content provider that can identify an event, or via a third partyservice.

For example, a third-party ride-share or trip-request application can beused to report a particular taxi trip as an event, and the system canthen add that event to the memory event timeline.

Similarly, a third-party application having a check-in feature can beused to report an event, so that the system can add the event to thetimeline. For example, an application that accepts dinner reservationscan be used to report a completed dinner and optionally a location ofthe meal, and add that additional content or information to thetimeline. The location of the dinner can help refresh a user's memory asto whether the specific media content that the user is looking for wasrequested or otherwise consumed during that meal.

As another example, events such as birthdays, anniversaries and otherevents can be imported from a calendar application, and added to thetimeline together with media content or additional content associatedwith the event.

In accordance with an embodiment, the media content consumed can be thatmedia content which was played by the user at, or during, a particularevent, for example through the user's media device or another deviceconnected or associated with the user's profile, such as a home computeror a voice-enabled wireless speaker.

In accordance with various embodiments, the media content consumed canalso be media content that is detected by the media device eitherpassively, or upon request of the user.

For example, in accordance with an embodiment, services or applicationscan use a media device's built-in microphone to gather a brief sample ofaudio being played, create a fingerprint based on the sample, andcompare it against a central database for potential matches. Other mediacontent identification capabilities can be similarly used to request andreceive information about a match, such as the artist, song title, andalbum, for subsequent insertion of such information into the user'smemory event timeline.

In accordance with an embodiment, the primary action on a particularmemory event displayed within the memory event timeline can be to“Replay” the music as is, or to “Discover” new music.

On a touch-screen user interface, these actions can be activated, forexample, by one of tapping on the displayed event, or pressing andholding on the displayed event.

In accordance with an embodiment, when the primary action “Replay” isactivated on a particular memory event, an associated music startsplaying immediately, and a play queue is populated with additionalassociated music from that event.

In accordance with an embodiment, by use of a “Save” icon, the user canassociate the music with a name and save it as a playlist, and the newname will be displayed with the memory event. The user can also use aqueue editor to modify the queue while it is playing.

In accordance with an embodiment, when the primary action “Discover” isactivated on a particular memory event, a discovery mode can return ashort playlist created from the event.

In accordance with an embodiment, secondary actions can be associatedwith a particular event, which can reference other systems orapplications, such as, for example: from a running event, link to therunning app to see the run history; from a party event, link to socialmedia where the party pictures were shared; from a concert event, linkto concert images and other content from other users and/or officialsites; or, from a road trip, link to a map covering the route driven andthe music listened to.

In accordance with an embodiment, the secondary actions can also beactivated by use of a user interface icon, e.g., “More?”

In accordance with an embodiment, to enable presentation of the memoryevent timeline and supported actions, the device and/or the media servercan be configured to group listening data into memorable events,including, for example, subtyping media content into genres or artistsof music which were listened to or otherwise consumed at, during orotherwise within or as part of that event, and associating the memoryevent with those genres, artists or other media content.

In accordance with an embodiment, such grouping can be performed byexamining the listening history, including, for example: the listeninghistory can be grouped primarily into time-based groups, for example[today] [this week] [this month] and [other1]. Then, within each ofthese primary groups, one or more secondary groups in known modes can becreated, for example [car] [commute] [running] [party] [Summer '16][Halloween '14] and [other2].

In accordance with an embodiment, those secondary groups where thelistening history is not significantly different from [other2] can bediscarded. Then, within all secondary groups that are not [other2]: themost prevalent 1-3 genres listened to within that group can be used,wherein each genre represents at least 25% of the listening during thatevent (and wherein the step completes if the sum of the genres represent75% or more of the music within that group). The process can besimilarly repeated for artists.

Then, in accordance with an embodiment, within the [other2] group, themost prevalent 1-3 genres listened to within [other2] are determined(with no requirement for at least 25%, and with the step completing ifthe sum of the genres represent 80% or more of the music within thatgroup). The process can be similarly repeated for artists.

The above-described variations in determining the presentation of thememory event timeline, and various memory events, accommodates suchinstances, for example, when the user searches through the memory ofcommuting, it is generally the commuting memory that is most importantto find associated music, while the genre in this instance is somewhatsecondary. However, when a commuting/party/running memory is selected bytapping on the event, then a more detailed presentation of theassociated genres or artists can be presented.

FIG. 3 illustrates a system for providing access to media contentassociated with events, using a digital media content environment, inaccordance with an embodiment.

As illustrated in FIG. 3, in accordance with an embodiment, the user caninteract with the user interface to move backwards chronologically, forexample by scrolling the memory event timeline in a direction away fromthe oldest displayed events. The user can also move forward againchronologically, by scrolling the memory event timeline in the oppositedirection. While the user moves backward chronologically within thememory event timeline, events begin to be clustered.

In accordance with an embodiment, events can be clustered within thememory event timeline according to rules that change as events age.

For example, in accordance with an embodiment, the system can displayevents for a week during which the user interacted with the systempreceding the user's current interaction with the system. If there is anapparent gap in the user's interaction with the system, displayed eventsmay be empty of media content; or if no events are logged, then nopreceding week may be displayed, and the media content consumed may begrouped according to a different set of rules applicable to aged events.

In accordance with an embodiment, events can also be grouped, forexample, by genres 280 of media content.

In accordance with an embodiment, the timeline can display sub-timelinesor event threads 282.

For example, a user's commute activities can be grouped together withinan icon representing a single selectable event type, with a sub-timelinediverging from the main timeline to illustrate the period covered by thecommute icon. The commute icon can be labeled with information, such astotal commute time, while a sub-timeline spans the various days of theweek.

In accordance with an embodiment, selecting an event type icon canexpand the event type icon, or alternatively launch an event type screenthat displays the media content consumed by the user for that eventtype.

In an alternative embodiment, selecting an event type icon can present aset of events, each of which can be individually selected for details ofthe media content consumed during that event.

In accordance with an embodiment, the timeline also clusters togethertotal listening sessions for the week into icons (here labeled “Chill”and “Electronic”) representing categories of music, with the“Electronic” icon being larger to represent a category of music fromwhich a larger volume of media content was consumed relative to musiccategorized as “Chill”. As another example, meals likewise can beclustered together and captured over a sub-timeline that spans an entireweek.

For example, an “Exercise” icon can be presented on the interfacespanning two different weeks and is selectable to display the mediacontent consumed while exercising over the period of the sub-timeline.The “Exercise” icon can be labeled with information, for example thetotal distance run by the user during that period.

FIG. 4 illustrates a system for providing access to media contentassociated with events, using a digital media content environment, inaccordance with an embodiment.

As illustrated in FIG. 4, while the user moves further backwardschronologically within the memory event timeline, events and mediacontent consumption can be clustered according to different rules and ahistory of the user's interaction with the system can be composed orpresented more broadly, for example as memory event periods 284, 286.

For example, an entire summer season's-worth of media consumption can begrouped under a “Summer '14” icon. In accordance with an embodiment,selecting the “Summer '14” icon can expand the icon, or alternativelylaunch a season screen that displays the media content consumed by theuser for that season.

In an alternative embodiment, selecting a particular season icon canpresent a set of event types, each of which can be individually selectedfor details of the media content consumed during for that event type.

In accordance with an embodiment, a single event icon can represent animportant event in the user's life, for example a marriage engagement on“June 24”. Such an event can be made to stand out in the clustered eventon the timeline, just as such an event would stand out in a person'smemory.

FIG. 5 illustrates a system for providing access to media contentassociated with events, using a digital media content environment, inaccordance with an embodiment.

As illustrated in FIG. 5, while the user moves still further backwardschronologically within the memory event timeline, the events andassociated media content consumption can be clustered in ever broadergroups representative of memory event artists, genres, or other events288.

For example, the user's media consumption for a large period (e.g., sixmonths) in the distant past (e.g., two years prior to the presentinteraction) can be grouped broadly into two icons representing the twomost consumed categories of music—“Techno” and “Pop”. The “Techno” iconis larger than the “Pop” icon to indicate a comparatively larger volumeof media content consumed.

The above examples of various event types, media content categories,cluster sizes and types described herein are provided by way of exampleto illustrate an embodiment. In accordance with other embodiments, othertypes of media content categories, cluster sizes, groupings, time spanscovered by groupings, and varying degrees of granularity of groupingscan be applied.

For example, rather than a single “Pop” category of media content, thepop category can be broken down into, e.g., “Indie Pop” and “BubblegumPop”. As another example, the exercise event type can be broken downinto a running event type and a weight training event type. Groupingscan also be used to bridge apparent gaps in time; for example, holidayevent types such as a “New Year's Day” event type can be clusteredacross multiple years, rather than divided by year.

FIG. 6 illustrates a method for providing access to media contentassociated with events, using a digital media content environment, inaccordance with an embodiment.

As illustrated in FIG. 6, at step 290, a media device and mediaapplication are provided for use in accessing media content at a mediaserver, for playing at the media device.

At step 292, under instruction by the media application, a memory eventstimeline is displayed at a user interface, together with a plurality ofdisplayed memory events.

At step 294, upon receipt of input by a user at the user interface, toperform an action or request on a selected memory event, a request iscommunicated to the media server and/or other systems/environments, toreturn a media content and/or additional content related to the selectedmemory event.

At step 296, the media device receives historical media content and/oradditional content related to the selected memory event, for playback bythe media application at the media device, in response to user action orrequest.

The above examples of various groupings and other features are providedby way of example, to illustrate some of the types of groupings andfeatures which the system can support in accordance with an embodiment.In accordance with various embodiments, additional and/or differentgroupings and features can be supported.

Embodiments of the present invention may be conveniently implementedusing one or more conventional general purpose or specialized digitalcomputer, computing device, machine, or microprocessor, including one ormore processors, memory and/or computer readable storage mediaprogrammed according to the teachings of the present disclosure.Appropriate software coding can readily be prepared by skilledprogrammers based on the teachings of the present disclosure, as will beapparent to those skilled in the software art.

In some embodiments, the present invention includes a computer programproduct which is a non-transitory storage medium or computer readablemedium (media) having instructions stored thereon/in which can be usedto program a computer to perform any of the processes of the presentinvention. Examples of the storage medium can include, but is notlimited to, any type of disk including floppy disks, optical discs, DVD,CD-ROMs, microdrive, and magneto-optical disks, ROMs, RAMs, EPROMs,EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic or optical cards,nanosystems (including molecular memory ICs), or any type of media ordevice suitable for storing instructions and/or data.

The foregoing description of embodiments of the present invention hasbeen provided for the purposes of illustration and description. It isnot intended to be exhaustive or to limit the invention to the preciseforms disclosed. Many modifications and variations will be apparent tothe practitioner skilled in the art.

For example, while the techniques described above generally illustrateexamples such as a music streaming service such as Spotify, and streamedmusic or song content, the systems and techniques described herein canbe similarly used with other types of media content environments, andother types of streamed data or media content.

The embodiments were chosen and described in order to best explain theprinciples of the invention and its practical application, therebyenabling others skilled in the art to understand the invention forvarious embodiments and with various modifications that are suited tothe particular use contemplated. It is intended that the scope of theinvention be defined by the following claims and their equivalents.

What is claimed is:
 1. A method for providing access to media contentassociated with memory events, comprising: at a server system associatedwith a media streaming service, the server system comprising one or moreprocessors and memory: storing indications of historical media contentconsumed by a user of the media streaming service in a listening historyof the user; for the user of the media streaming service, grouping thehistorical media content from the listening history of the user into aplurality of memory events, including a respective memory eventassociated with a genre and a time period, the respective memory eventincluding the historical media content consumed by the user within thetime period; enabling display, at an electronic device of the user, of aplurality of graphical representations of the plurality of memoryevents, wherein a respective graphical representation of the respectivememory event identifies the genre and the time period of the historicalmedia content consumed by the user, as determined from the listeninghistory of the user; receiving an indication that the user has selectedthe respective memory event; and in response to receiving the indicationthat the user has selected the respective memory event, providing mediacontent from the listening history of the user for the respective memoryevent including the historical media content consumed by the user withinthe time period.
 2. The method of claim 1, wherein two or more of theplurality of memory events are associated with a respective genre and arespective time period.
 3. The method of claim 2, wherein for each ofthe two or more memory events associated with a respective genre and arespective time period, a size of the corresponding graphicalrepresentation of the memory event corresponds to a number of mediaitems of the respective genre consumed by the user during the respectivetime period.
 4. The method of claim 1, wherein grouping the historicalmedia content from the listening history of the user into the pluralityof memory events includes applying grouping rules that change as theplurality of memory events age.
 5. The method of claim 1, wherein thegraphical representations of the plurality of memory events aredisplayed in a timeline.
 6. The method of claim 1, wherein the pluralityof memory events includes a respective memory event that is groupedbased on a check-in from a third-party application.
 7. The method ofclaim 1, wherein the plurality of memory events includes a respectivememory event that is associated with an artist and a time period.
 8. Aserver system associated with a media streaming service, the serversystem comprising: one or more processors; memory storing one or moreprograms, the one or more programs comprising instructions for: storingindications of historical media content consumed by a user of the mediastreaming service in a listening history of the user; for the user ofthe media streaming service, grouping the historical media content fromthe listening history of the user into a plurality of memory events,including a respective memory event associated with a genre and a timeperiod, the respective memory event including the historical mediacontent consumed by the user within the time period; enabling display,at an electronic device of the user, of a plurality of graphicalrepresentations of the plurality of memory events, wherein a respectivegraphical representation of the respective memory event identifies thegenre and the time period of the historical media content consumed bythe user, as determined from the listening history of the user;receiving an indication that the user has selected the respective memoryevent; and in response to receiving the indication that the user hasselected the respective memory event, providing media content from thelistening history of the user for the respective memory event includingthe historical media content consumed by the user within the timeperiod.
 9. The server system of claim 8, wherein two or more of theplurality of memory events are associated with a respective genre and arespective time period.
 10. The server system of claim 9, wherein foreach of the two or more memory events associated with a respective genreand a respective time period, a size of the corresponding graphicalrepresentation of the memory event corresponds to a number of mediaitems of the respective genre consumed by the user during the respectivetime period.
 11. The server system of claim 8, wherein grouping thehistorical media content from the listening history of the user into theplurality of memory events includes applying grouping rules that changeas the plurality of memory events age.
 12. The server system of claim 8,wherein the graphical representations of the plurality of memory eventsare displayed in a timeline.
 13. The server system of claim 8, whereinthe plurality of memory events includes a respective memory event thatis grouped based on a check-in from a third-party application.
 14. Theserver system of claim 8, wherein the plurality of memory eventsincludes a respective memory event that is associated with an artist anda time period.
 15. A non-transitory computer-readable storage mediumstoring one or more programs for execution by a server system associatedwith a media providing service, the one or more programs comprisinginstructions for: storing indications of historical media contentconsumed by a user of the media streaming service in a listening historyof the user; for the user of the media streaming service, grouping thehistorical media content from the listening history of the user into aplurality of memory events, including a respective memory eventassociated with a genre and a time period, the respective memory eventincluding the historical media content consumed by the user within thetime period; enabling display, at an electronic device of the user, of aplurality of graphical representations of the plurality of memoryevents, wherein a respective graphical representation of the respectivememory event identifies the genre and the time period of the historicalmedia content consumed by the user, as determined from the listeninghistory of the user; receiving an indication that the user has selectedthe respective memory event; and in response to receiving the indicationthat the user has selected the respective memory event, providing mediacontent from the listening history of the user for the respective memoryevent including the historical media content consumed by the user withinthe time period.
 16. The non-transitory computer-readable storage mediumof claim 15, wherein two or more of the plurality of memory events areassociated with a respective genre and a respective time period.
 17. Thenon-transitory computer-readable storage medium of claim 16, wherein foreach of the two or more memory events associated with a respective genreand a respective time period, a size of the corresponding graphicalrepresentation of the memory event corresponds to a number of mediaitems of the respective genre consumed by the user during the respectivetime period.
 18. The non-transitory computer-readable storage medium ofclaim 15, wherein grouping the historical media content from thelistening history of the user into the plurality of memory eventsincludes applying grouping rules that change as the plurality of memoryevents age.
 19. The non-transitory computer-readable storage medium ofclaim 15, wherein the graphical representations of the plurality ofmemory events are displayed in a timeline.
 20. The non-transitorycomputer-readable storage medium of claim 15, wherein the plurality ofmemory events includes a respective memory event that is grouped basedon a check-in from a third-party application.